// 用来根据旧的state 和指定的action 生成并返回新的state 函数
import {combineReducers} from 'redux'
import {SET_HEAD_TITLE,RECEIVE_USER,SHOW_ERROR_MSG,RESET_USER} from './action-types'
import storageUtils from "../utils/storageUtils"
// 用来管理头部标题
const initHeadTitle = '首页'
function headTitle(state=initHeadTitle,action){
   switch(action.type){
       case SET_HEAD_TITLE:
           return action.data;
       default:
           return state;
   }
}

// 用来管理当前登录用户
const initUser = storageUtils.getUser()
function user(state=initUser,action){
   console.log('action999999999',action);
   switch(action.type){
       case RECEIVE_USER:
           return action.user
       case SHOW_ERROR_MSG:
           const errorMsg = action.errorMsg;
           // state.errorMsg = errorMsg  //不要直接修改 状态数据   state:{ xxx, errorMsg:{ msg:'用户名错误' }  }  
           return {...state,errorMsg};    
       case RESET_USER:
           return {}
       default:
           return {...state};
   }

}

/*
向外默认暴露的是合并产生的总的reducer函数
管理的总的state的结构:
  {
    headTitle: '首页',
    user: {}
  }
 */
export default combineReducers({
    headTitle,
    user
})